Multi-functional coordinate measurement machines

ABSTRACT

A portable articulated arm coordinate measuring machine (AACMM) includes a manually positionable arm portion having opposed first and second ends, the arm portion including connected arm segments, each arm segment including at least one position transducer for producing a position signal, a measurement device attached to a first end of the AACMM, and an electronic circuit which receives the position signals from the transducers and provides data corresponding to a position of the measurement device. Implementing the portable AACMM includes identifying a source device from which data is received by determining a transmission path through which the data is transmitted, the source device removably attached to the first end of the AACMM, determining a data type of the data based upon identification of the source device, performing an action on the data responsive to the data type, and outputting results of performing the action to a destination device.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of provisional application No. 61/296,555 filed Jan. 20, 2010, the content of which is hereby incorporated by reference in its entirety.

BACKGROUND

The present disclosure relates to a coordinate measuring machine, and more particularly to a portable articulated arm coordinate measuring machine having a connector on a probe end of the coordinate measuring machine that allows accessory devices to be removably connected to the coordinate measuring machine.

Portable articulated arm coordinate measuring machines (AACMMs) have found widespread use in the manufacturing or production of parts where there is a need to rapidly and accurately verify the dimensions of the part during various stages of the manufacturing or production (e.g., machining) of the part. Portable AACMMs represent a vast improvement over known stationary or fixed, cost-intensive and relatively difficult to use measurement installations, particularly in the amount of time it takes to perform dimensional measurements of relatively complex parts. Typically, a user of a portable AACMM simply guides a probe along the surface of the part or object to be measured. The measurement data are then recorded and provided to the user. In some cases, the data are provided to the user in visual form, for example, three-dimensional (3-D) form on a computer screen. In other cases, the data are provided to the user in numeric form, for example when measuring the diameter of a hole, the text “Diameter=1.0034” is displayed on a computer screen.

An example of a prior art portable articulated arm CMM is disclosed in commonly assigned U.S. Pat. No. 5,402,582 (582), which is incorporated herein by reference in its entirety. The '582 patent discloses a 3-D measuring system comprised of a manually-operated articulated arm CMM having a support base on one end and a measurement probe at the other end. Commonly assigned U.S. Pat. No. 5,611,147 ('147), which is incorporated herein by reference in its entirety, discloses a similar articulated arm CMM. In the '147 patent, the articulated arm CMM includes a number of features including an additional rotational axis at the probe end, thereby providing for an arm with either a two-two-two or a two-two-three axis configuration (the latter case being a seven axis arm).

While existing CMM's are suitable for their intended purposes, what is needed is a portable AACMM that allows accessory devices to be removably connected to the coordinate measuring machine.

SUMMARY OF THE INVENTION

An embodiment is a method of implementing a portable articulated arm coordinate measuring machine (AACMM) having interchangeable accessories. The portable AACMM includes a manually positionable arm portion having opposed first and second ends, the arm portion including a number of connected arm segments, each arm segment including at least one position transducer for producing a position signal, a measurement device attached to a first end of the AACMM, and an electronic circuit which receives the position signals from the transducers and provides data corresponding to a position of the measurement device. Implementing the portable AACMM includes identifying a source device from which data is received by determining a transmission path through which the data is transmitted, the source device removably attached to the first end of the AACMM via a coupler. Implementing the portable AACMM also includes determining a data type of the data based upon at least an identification of the source device. The source device is removably attached to the AACMM. Implementing the portable AACMM also includes performing an action on the data responsive to the data type, and outputting results of performing the action to a destination device.

Another embodiment is a portable articulated arm coordinate measuring machine (AACMM) having interchangeable accessories. The portable AACMM includes a manually positionable arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each of the arm segments including at least one position transducer for producing a position signal. The portable AACMM also includes a measurement device attached to a first end of the AACMM, an electronic circuit for receiving the position signals from the transducers and for providing data corresponding to a position of the measurement device, a source device removably attached to the first end of the portable AACMM via a coupler, the source device configured to capture data, and logic executable by the electronic circuit, wherein the logic identifies the source device from which the data is received by determining a transmission path through which the data is transmitted. The logic further determines a data type of the data based upon at least an identification of the source device, performs an action on the data responsive to the data type, and outputs results of performing the action to a destination device.

A further embodiment is a computer program product for implementing a portable articulated arm coordinate measuring machine (AACMM), the computer program product including a computer storage medium having computer-readable program code embodied thereon, which when executed by a computer causes the computer to implement a method. The method includes identifying a source device from which data is received by determining a transmission path through which the data is transmitted. The source device is removably attached to the AACMM. The method also includes determining a data type of the data based upon at least an identification of the source device, performing an action on the data responsive to the data type, and outputting results of performing the action to a destination device.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings, exemplary embodiments are shown which should not be construed to be limiting regarding the entire scope of the disclosure, and wherein the elements are numbered alike in several FIGURES:

FIG. 1, including FIGS. 1A and 1B, are perspective views of a portable articulated arm coordinate measuring machine (AACMM) having embodiments of various aspects of the present invention therewithin;

FIG. 2, including FIGS. 2A-2D taken together, is a block diagram of electronics utilized as part of the AACMM of FIG. 1 in accordance with an embodiment;

FIG. 3, including FIGS. 3A and 3B taken together, is a block diagram describing detailed features of the electronic data processing system of FIG. 2 in accordance with an embodiment;

FIG. 4 is an isometric view of the probe end of the AACMM of FIG. 1 with a laser line probe device attached in accordance with an embodiment;

FIG. 5 is an isometric view partially in section of the laser line probe device of FIG. 4 in accordance with an embodiment;

FIG. 6 is an isometric view of the probe end of the AACMM of FIG. 1 with another removable device attached in accordance with an embodiment;

FIG. 7 is an isometric view of the probe end of the AACMM of FIG. 1 with a paint spray device attached in accordance with an embodiment;

FIG. 8, including FIG. 8-FIG. 8C are views of a projected image that is may be adjusted to remain aligned with a part feature as a function of the arm position and orientation, in accordance with an embodiment of the present invention;

FIG. 9, including FIGS. 9A-9B are views of a surface of a part with an image projected thereon, where the projected image contains probe guidance and status information;

FIG. 10 is a perspective view of an AACMM with two projectors mounted onto a probe end and a third projector mounted on another portion of the AACMM;

FIG. 11 is a perspective view of another AACMM with two projectors mounted onto a probe end;

FIG. 12 is a perspective view of an AACMM with a projector mounted onto a probe end, where the projector projects an image onto a surface of a part, where the projected image contains hidden features behind the surface of the part; and

FIG. 13 is a flow diagram describing a process for implementing the AACMM with removal accessories in accordance with an embodiment.

DETAILED DESCRIPTION

Portable articulated arm coordinate measuring machines (AACMMs) are used in a variety of applications to obtain measurements of objects. Embodiments of the present invention provide advantages in allowing an operator to easily and quickly couple different measurement accessory devices to a probe end of the AACMM. Embodiments of the present invention provide further advantages in providing for integrating some level of control of the probe end with the accessory device. Embodiments of the present invention provide still further advantages in providing power and data communications to a removable accessory without having external connections or wiring.

FIGS. 1A and 1B illustrate, in perspective, a portable articulated arm coordinate measuring machine (AACMM) 100 according to various embodiments of the present invention, an articulated arm being one type of coordinate measuring machine. As shown in FIGS. 1A and 1B, the exemplary AACMM 100 may comprise a six or seven axis articulated measurement device having a measurement probe housing 102 coupled to an arm portion 104 of the AACMM 100 at one end. The arm portion 104 comprises a first arm segment 106 coupled to a second arm segment 108 by a first grouping of bearing cartridges 110 (e.g., two bearing cartridges). A second grouping of bearing cartridges 112 (e.g., two bearing cartridges) couples the second arm segment 108 to the measurement probe housing 102. A third grouping of bearing cartridges 114 (e.g., three bearing cartridges) couples the first arm segment 106 to a base 116 located at the other end of the arm portion 104 of the AACMM 100. Each grouping of bearing cartridges 110, 112, 114 provides for multiple axes of articulated movement. Also, the measurement probe housing 102 may comprise the shaft of the seventh axis portion of the AACMM 100 (e.g., a cartridge containing an encoder system that determines movement of the measurement device, for example a probe 118 and/or a peripheral device, in the seventh axis of the AACMM 100). In use of the AACMM 100, the base 116 is typically affixed to a work surface.

Each bearing cartridge within each bearing cartridge grouping 110, 112, 114 typically contains an encoder system (e.g., an optical encoder system). The encoder system (i.e., transducer) provides an indication of the position of the respective arm segments 106, 108 and corresponding bearing cartridge groupings 110, 112, 114, that all together provide an indication of the position of the probe 118 with respect to the base 116 (and, thus, the position of the object being measured by the AACMM 100 in a certain frame of reference—for example a local or global frame of reference). The arm segments 106, 108 may be made from a suitably rigid material such as but not limited to a carbon composite material for example. A portable AACMM 100 with six or seven axes of articulated movement (i.e., degrees of freedom) provides advantages in allowing the operator to position the probe 118 in a desired location within a 360° area about the base 116 while providing an arm portion 104 that may be easily handled by the operator. However, it should be appreciated that the illustration of an arm portion 104 having two arm segments 106, 108 is for exemplary purposes, and the claimed invention should not be so limited. An AACMM 100 may have any number of arm segments coupled together by bearing cartridges (and, thus, more or less than six or seven axes of articulated movement or degrees of freedom).

The probe 118 is detachably mounted to the measurement probe housing 102, which is connected to bearing cartridge grouping 112. A handle 126 is removable with respect to the measurement probe housing 102 by way of, for example, a quick-connect interface. The handle 126 may be replaced with another device (e.g., a laser line probe, a bar code reader), thereby providing advantages in allowing the operator to use different measurement devices with the same AACMM 100. In exemplary embodiments, the probe housing 102 houses a removable probe 118, which is a contacting measurement device and may have different tips 118 that physically contact the object to be measured, including, but not limited to: ball, touch-sensitive, curved and extension type probes. In other embodiments, the measurement is performed, for example, by a non-contacting device such as a laser line probe (LLP). In an embodiment, the handle 126 is replaced with the LLP using the quick-connect interface. Other types of measurement devices may replace the removable handle 126 to provide additional functionality. Examples of such measurement devices include, but are not limited to, one or more illumination lights, a temperature sensor, a thermal scanner, a bar code scanner, a projector, a paint sprayer, a camera, or the like.

As shown in FIGS. 1A and 1B, the AACMM 100 includes the removable handle 126 that provides advantages in allowing accessories or functionality to be changed without removing the measurement probe housing 102 from the bearing cartridge grouping 112. As discussed in more detail below with respect to FIG. 2, the removable handle 126 may also include an electrical connector that allows electrical power and data to be exchanged with the handle 126 and the corresponding electronics located in the probe end.

In various embodiments, each grouping of bearing cartridges 110, 112, 114 allows the arm portion 104 of the AACMM 100 to move about multiple axes of rotation. As mentioned, each bearing cartridge grouping 110, 112, 114 includes corresponding encoder systems, such as optical angular encoders for example, that are each arranged coaxially with the corresponding axis of rotation of, e.g., the arm segments 106, 108. The optical encoder system detects rotational (swivel) or transverse (hinge) movement of, e.g., each one of the arm segments 106, 108 about the corresponding axis and transmits a signal to an electronic data processing system within the AACMM 100 as described in more detail herein below. Each individual raw encoder count is sent separately to the electronic data processing system as a signal where it is further processed into measurement data. No position calculator separate from the AACMM 100 itself (e.g., a serial box) is required, as disclosed in commonly assigned U.S. Pat. No. 5,402,582 ('582).

The base 116 may include an attachment device or mounting device 120. The mounting device 120 allows the AACMM 100 to be removably mounted to a desired location, such as an inspection table, a machining center, a wall or the floor for example. In one embodiment, the base 116 includes a handle portion 122 that provides a convenient location for the operator to hold the base 116 as the AACMM 100 is being moved. In one embodiment, the base 116 further includes a movable cover portion 124 that folds down to reveal a user interface, such as a display screen.

In accordance with an embodiment, the base 116 of the portable AACMM 100 contains or houses an electronic data processing system that includes two primary components: a base processing system that processes the data from the various encoder systems within the AACMM 100 as well as data representing other arm parameters to support three-dimensional (3-D) positional calculations; and a user interface processing system that includes an on-board operating system, a touch screen display, and resident application software that allows for relatively complete metrology functions to be implemented within the AACMM 100 without the need for connection to an external computer.

The electronic data processing system in the base 116 may communicate with the encoder systems, sensors, and other peripheral hardware located away from the base 116 (e.g., a LLP that can be mounted to the removable handle 126 on the AACMM 100). The electronics that support these peripheral hardware devices or features may be located in each of the bearing cartridge groupings 110, 112, 114 located within the portable AACMM 100.

FIG. 2 is a block diagram of electronics utilized in an AACMM 100 in accordance with an embodiment. The embodiment shown in FIG. 2 includes an electronic data processing system 210 including a base processor board 204 for implementing the base processing system, a user interface board 202, a base power board 206 for providing power, a Bluetooth module 232, and a base tilt board 208. The user interface board 202 includes a computer processor for executing application software to perform user interface, display, and other functions described herein.

As shown in FIG. 2, the electronic data processing system 210 is in communication with the aforementioned plurality of encoder systems via one or more arm buses 218. In the embodiment depicted in FIG. 2, each encoder system generates encoder data and includes: an encoder arm bus interface 214, an encoder digital signal processor (DSP) 216, an encoder read head interface 234, and a temperature sensor 212. Other devices, such as strain sensors, may be attached to the arm bus 218.

Also shown in FIG. 2 are probe end electronics 230 that are in communication with the arm bus 218. The probe end electronics 230 include a probe end DSP 228, a temperature sensor 212, a handle/LLP interface bus 240 that connects with the handle 126 or the LLP 242 via the quick-connect interface in an embodiment, and a probe interface 226. The quick-connect interface allows access by the handle 126 to the data bus, control lines, and power bus used by the LLP 242 and other accessories. In an embodiment, the probe end electronics 230 are located in the measurement probe housing 102 on the AACMM 100. In an embodiment, the handle 126 may be removed from the quick-connect interface and measurement may be performed by the laser line probe (LLP) 242 communicating with the probe end electronics 230 of the AACMM 100 via the handle/LLP interface bus 240. In an embodiment, the electronic data processing system 210 is located in the base 116 of the AACMM 100, the probe end electronics 230 are located in the measurement probe housing 102 of the AACMM 100, and the encoder systems are located in the bearing cartridge groupings 110, 112, 114. The probe interface 226 may connect with the probe end DSP 228 by any suitable communications protocol, including commercially-available products from Maxim Integrated Products, Inc. that embody the 1-wire® communications protocol 236.

FIG. 3 is a block diagram describing detailed features of the electronic data processing system 210 of the AACMM 100 in accordance with an embodiment. In an embodiment, the electronic data processing system 210 is located in the base 116 of the AACMM 100 and includes the base processor board 204, the user interface board 202, a base power board 206, a Bluetooth module 232, and a base tilt module 208.

In an embodiment shown in FIG. 3, the base processor board 204 includes the various functional blocks illustrated therein. For example, a base processor function 302 is utilized to support the collection of measurement data from the AACMM 100 and receives raw arm data (e.g., encoder system data) via the arm bus 218 and a bus control module function 308. The memory function 304 stores programs and static arm configuration data. The base processor board 204 also includes an external hardware option port function 310 for communicating with any external hardware devices or accessories such as an LLP 242. A real time clock (RTC) and log 306, a battery pack interface (IF) 316, and a diagnostic port 318 are also included in the functionality in an embodiment of the base processor board 204 depicted in FIG. 3.

The base processor board 204 also manages all the wired and wireless data communication with external (host computer) and internal (display processor 202) devices. The base processor board 204 has the capability of communicating with an Ethernet network via an Ethernet function 320 (e.g., using a clock synchronization standard such as Institute of Electrical and Electronics Engineers (IEEE) 1588), with a wireless local area network (WLAN) via a LAN function 322, and with Bluetooth module 232 via a parallel to serial communications (PSC) function 314. The base processor board 204 also includes a connection to a universal serial bus (USB) device 312.

The base processor board 204 transmits and collects raw measurement data (e.g., encoder system counts, temperature readings) for processing into measurement data without the need for any preprocessing, such as disclosed in the serial box of the aforementioned '582 patent. The base processor 204 sends the processed data to the display processor 328 on the user interface board 202 via an RS485 interface (IF) 326. In an embodiment, the base processor 204 also sends the raw measurement data to an external computer.

Turning now to the user interface board 202 in FIG. 3, the angle and positional data received by the base processor is utilized by applications executing on the display processor 328 to provide an autonomous metrology system within the AACMM 100. Applications may be executed on the display processor 328 to support functions such as, but not limited to: measurement of features, guidance and training graphics, remote diagnostics, temperature corrections, control of various operational features, connection to various networks, and display of measured objects. Along with the display processor 328 and a liquid crystal display (LCD) 338 (e.g., a touch screen LCD) user interface, the user interface board 202 includes several interface options including a secure digital (SD) card interface 330, a memory 332, a USB Host interface 334, a diagnostic port 336, a camera port 340, an audio/video interface 342, a dial-up/cell modem 344 and a global positioning system (GPS) port 346.

The electronic data processing system 210 shown in FIG. 3 also includes a base power board 206 with an environmental recorder 362 for recording environmental data. The base power board 206 also provides power to the electronic data processing system 210 using an AC/DC converter 358 and a battery charger control 360. The base power board 206 communicates with the base processor board 204 using inter-integrated circuit (12C) serial single ended bus 354 as well as via a DMA serial peripheral interface (DSPI) 356. The base power board 206 is connected to a tilt sensor and radio frequency identification (RFID) module 208 via an input/output (I/O) expansion function 364 implemented in the base power board 206.

Though shown as separate components, in other embodiments all or a subset of the components may be physically located in different locations and/or functions combined in different manners than that shown in FIG. 3. For example, in one embodiment, the base processor board 204 and the user interface board 202 are combined into one physical board.

Turning now to FIGS. 4-7, exemplary embodiments of a measurement probe housing 102 are shown with a quick-connect mechanical and electrical interface that allows removable and interchangeable devices to couple with AACMM 100. The exemplary embodiments of the present invention provide advantages to camera, signal processing, control and indicator interfaces for devices, such as a laser line probe (LLP) scanning device 400.

The device 400 includes an enclosure 402 that includes a handle portion 404 that is sized and shaped to be held in an operator's hand, such as in a pistol grip for example. One end of the device 400 includes a mechanical and electrical interface 426. The interface 426 includes a mechanical coupler 532 and an electrical connector 534 coupled thereto. The interface 426 provides for a relatively quick and secure electronic connection between the device 400 and the probe housing 102 without the need to align connector pins, and without the need for separate cables or connectors.

Adjacent the interface 426, the enclosure 402 includes a portion 506 that includes an optical device 408, such as a laser device, and a sensor 410. The sensor 410 may be a charged-coupled device (CCD) type sensor or a complementary metal-oxide-semiconductor (CMOS) type sensor for example. In the exemplary embodiment, the optical device 408 and sensor 410 are arranged at an angle such that the sensor 410 may detect reflected light from the optical device 408 at a desired focal point. In one embodiment, the focal point of the optical device 408 and the sensor 410 is offset from the probe tip 118 such that the device 400 may be operated without interference from the probe tip 118. In other words, the device 400 may be operated with the probe tip 118 in place. Further, it should be appreciated that the device 400 is substantially fixed relative to the probe tip 118, and forces on the handle portion 404 may not influence the alignment of the device 400 relative to the probe tip 118. In one embodiment, the device 400 may have an additional actuator (not shown) that allows the operator to switch between acquiring data from the device 400 and the probe tip 118.

The optical device 408 and sensor 410 are electrically coupled to a controller 512 disposed within the enclosure 402. The controller 512 may include one or more microprocessors, digital signal processors, memory and signal conditioning circuits. Due to the digital signal processing and large data volume generated by the device 400, the controller 512 is relatively large and may be arranged within the handle portion 404. The controller 512 is electrically coupled to the arm buses 218 via electrical connector 534. The device 400 further includes actuators 514, 516 which may be manually activated by the operator to initiate operation and data capture by the device 400.

In other embodiments of the present invention, a device 600 (FIG. 6) coupled to the AACMM 100 may include a functional device 602. Depending on the type of device 600, the functional device 602 may be a still camera, a video camera, a bar-code scanner, thermal scanner, a light source (e.g. a flashlight), or an image projector. In one embodiment, the functional device 602 may include a retroreflector holder such as that described in commonly-assigned U.S. Pat. No. 7,804,602 entitled “Apparatus and Method for Relocating an Articulating-Arm Coordinate Measuring Machine” which is incorporated herein in its entirety. In yet another embodiment, the functional device 602 may include an ultrasonic probe such as that described in commonly-owned U.S. Pat. No. 5,412,880 entitled “Method of Constructing a 3-Dimensional Map of a Measurable Quantity Using Three Dimensional Coordinate Measuring Apparatus” which is incorporated by reference herein in its entirety. The device 600 includes an interface 426 allowing a device to be electrically and mechanically coupled to the probe housing 102. Device 600 further includes a controller electrically connected to the functional device 602. The controller is arranged in asynchronous bi-directional communication with the electronic data processing system 210. The bidirectional communication connection may be wired (e.g. via arm bus 218), wireless (e.g. Bluetooth or IEEE 802.11). In one embodiment, the communications connection is a combination of wired and wireless connections wherein a first signal type is transmitted via a wired connection via controller 420 and a second signal type is transmitted via a wireless connection. In an embodiment wherein the functional device 602 includes multiple functions such as an image projector and a laser line probe, The image (e.g. CAD) data may be sent via a wireless connection to the image projector while the data acquired by the LLP image sensor is sent via a wired connection. It should be appreciated that the integration of these devices may provide advantages in allowing the operator to acquire measurements faster and with a higher degree of reliability. For example, with the still camera or video camera device attached, the operator may record an image or images of the object being measured with the device. These images may be displayed on display 328 or incorporated into an inspection report for example. In one embodiment, the operator may place graphical markers on the displayed image to define measurement points via the user interface board 202. In this way, the operator can later recall the marked up image from memory and quickly see where to make measurements. In other embodiments, a video is captured of the object being measured. The video is then replayed via the user interface board 202 to assist the operator in repeating multiple measurements on the next object to be inspected or as a training tool for new operators.

In yet another embodiment, the device may be a paint spray device 700 (FIG. 7). The paint spray device 700 includes an interface 426 that electrically and mechanically couples the paint spray device 700 to the probe housing 102. In this embodiment, the device 700 includes a controller arranged in communication with electronic data processing system 210. The communication connection may be wired (e.g. via arm bus 218), wireless (e.g. Bluetooth or IEEE 802.11), or a combination of wired and wireless connections. The device 700 controller receives a signal from the electronic data processing system 210 and selectively sprays one or more colors from one or more spray nozzles 702 that are each connected to a reservoir 704 (e.g. red, green, blue) each with a single color of paint. It should be appreciated that the spray nozzles 702 may also be an inkjet type of spray mechanism that deposits droplets of paint, ink, pigments or dies onto a surface. The inkjet nozzles may include but are not limited to continuous inkjets, thermal inkjets, and piezoelectric inkjets. Since the electronic data processing system 210 knows the position and orientation of the probe housing 102, the device may receive commands to spray a particular color at a particular location to match a desired image stored in memory. Thus, an image or picture may be reproduced by the device 700 as the operator moves the device 700 across the desired surface (e.g. a wall). This embodiment may also provide advantages in manufacturing environments to create layout markings on an article, such as sheet metal for example. It should be appreciated that while FIG. 7 illustrates the reservoirs 704 as being external to the AACMM 100, this is for exemplary purposes and the claimed invention should not be so limited. In one embodiment, the reservoirs 704 are disposed in the handle of the device 700. In another embodiment, the reservoirs 704 are arranged in the base 116 and conduits extend through the arm 104 providing a system with no external wiring, tubes or conduits.

Referring now to FIG. 6 and FIGS. 8-12, an embodiment is shown of a device 600 incorporating one or more image projectors 602. In accordance with embodiments of the present invention, one or more relatively small, commercially available projectors (e.g., “ultra miniature” or “pico” projectors) 604 may be mounted to, connected with, or otherwise attached to the probe end 401 of AACMM 100 or at other various positions thereon (e.g. opposite the handle, on an arm segment). In FIG. 8A-8D, the projector 604 is shown mounted to the device 600 adjacent to the handle 126. However, the projector 604 may be mounted anywhere on the AACMM 100, and may be mounted to a laser line probe, if utilized in conjunction with the AACMM 100. The projector 604 may contain some amount of processing capability. In an embodiment, the projector 604 is connected with, or in communication with, the electronic data processing system 210. As such, the projector 604 may be provided with visual guidance information or data (e.g., an image 606) that the projector 604 then projects onto the part or object 608 to be measured or otherwise worked on by an operator of the AACMM 100, as shown in “Position 1” of FIG. 8B.

Once the orientation of the part 608 is aligned within the coordinate system of the AACMM 100, the scale of the projected image 606 and its perspective can be synchronized to the movement of the AACMM 100 using the positional data of the arm 104. The image 606 projected on the part 608 can be adjusted by a processor associated with the projector 604 or via the electronic data processing system 210 as a function of the position of the probe end 401, such that as the device 600 is moved, the image 606 projected on the part 608 is stationary, changing both in scale and orientation to present a stable image to the operator. This can be seen in “Position 2” of FIG. 8C. As an example, a colored (e.g. green) circle 610 could be projected to align with a hole 612 in the part to be measured. As the probe angle or distance relative to the part 608 is changed, the position of the circle 610 in the projected image 606 changes, yet the circle 610 remains “locked” in position over the hole 612, and remains the same size as the hole 612. This is comparable to locking on and tracking a target. An advantage of this configuration is that the operator does not need to look away from the part 608 at a computer screen, user interface or other visual display as the operator moves the AACMM 100.

Using projected imagery on the part 608 as opposed to simple grid lines in the prior art provides a wide range of projected information options, including but not limited to: (1) Color control—a red circle may change to green after completing a measurement successfully. The color of the marker or graphics may change to provide the highest visibility (contrast) for the color of the part 608. (2) Animations—markers, arrows, or other indicators may flash, changing frequency, alternately changing colors to start or finish an operation. (3) Text—messages, data, or dimensions can be projected on the part. A digital read-out normally displayed on the computer screen can be projected on the part 608. (4) CAD images—can be overlaid on parts, with notes, dimensions or other information. Features to be measured can be sequentially highlighted with color or animation. (5) Photographs—actual images of the part (as designed) can be projected onto the part to be measured, immediately indicating anything that is different, such as a missing hole or a feature in the wrong location. (“Projection with Guidance”; see FIG. 9A). (6) Range Indicator—for non-contact devices like LLP500, range indicators 614 can be projected onto the part surface 608. These can be animated, colored, and include text and/or data.

The AACMM 100 may also use the projector 604 to provide guidance to the operator as illustrated in FIG. 9A. The projector 604 generates an image on the part 608 highlighting the feature 612 where the measurements are to be taken with circle 610, while also overlaying indicators 616 where the measurement device 118 should acquire the measurement points. Textual instructions 618 may also be projected and overlaid on the part 608. After taking a measurement of a part or object 608, or a complete set of measurements of the part 608, an indicator 620 of the results can be projected directly onto the part 608 as illustrated in FIG. 9B. This may be used to highlight certain features of the part that are within tolerance and/or outside of tolerance. For a surface scan, high and low points may be color coded and projected directly onto the part 608. For dimensioned feature measurements, a graphical or textual indicator 622 can be projected on the part 608 notifying the operator whether features are in and/or out of tolerance. As discussed above, this provides advantages in decreasing the amount of time needed for inspection of the part 608 since the operator does not need to look away to a computer terminal or user interface.

The projector 604 may also be used to illuminate the working area by projecting white light and the size and shape of the illumination can be controlled. In addition, the area of illumination may be locked while the device 600 is moved because the spotlight location and size can be controlled using the positional data of the probe end 401. If the device 600 is oriented such that the projector 604 cannot illuminate any of the part 608 (e.g., when pointing at the ceiling), then the projector 604 may automatically turn off or go to black.

Referring to FIG. 10-11, in accordance with embodiments of another aspect of the present invention, multiple projectors 604, 624, 626 may be used with AACMM 100. An embodiment is the projector 624 points at a wall 628 or work surface. Here the projector 624 may be attached to a movable (e.g. swivel) mount on a fixed (non-moving) portion of the AACMM 100, such as on the base 116 for example. The image 630 from projector 624 may display the same information or different information as from the projector 604 mounted on the probe end 401. The image 630 may be for observation by a second party, or it may serve to replicate the on-board application software display or an ancillary computer display. In this manner, data may be made larger i.e., increased coverage area), or the data may be projected onto a surface 628 that is more easily viewed by the operator during the measurement session.

In addition, multiple projectors 604, 626 mounted on the probe end 401 of AACMM 100 may increase surface area coverage or coverage of 3D profiles, thus accommodating relatively greater movement of the probe end 401 without losing image coverage. The image contours can be adjusted to the contours of the part 608.

Referring to FIG. 12, in accordance with embodiments of another aspect of the present invention, an AACMM 100 with a projector 604 mounted thereon may provide visual task guidance to the operator. Such visual task guidance may be in the form of visualization of features of objects or items that are hidden from view by a surface or other type of obstruction (e.g., a wall or human skin). For example, the projector 604 may project CAD data, CAT scan data, laser scan data, or other data on various surfaces 632 that have one or more objects 634, 636 or items behind the surface 632 that need to be accessed and worked on. However, it is important that the worker identify the precise location of these objects so that no damage is caused to other objects or to reduce that amount of time wasted trying to locate these hidden objects 634, 636. The surface 632 may be a surface of a wall, an assembly, a human body, or other types of surfaces that hide features or objects to be worked on.

FIG. 12 shows the example of an image 638 projected onto a wall surface 632. Behind the wall surface 632 are various items such as studs 634, plumbing pipes 636, and electrical wiring. However, the worker may not know what is positioned behind the wall surface 632 and/or does not know the positioning of these items behind the wall surface 632. It would be advantageous to provide the worker with an image of the items behind the wall surface 632 and the location of 3 those items. Generally, this information about the hidden features is available as, e.g., CAD data.

In another application, the AACMM 100 may be used in an operating room for example. A doctor may use a portable AACMM to determine the location for making an incision or finding a tumor, correlating the position of the probe or measurement device 118 with 3D data from Computer Axial Tomography data. In this case, the projector 604 may project an image on the patient, providing markers or actual replication of CAT scan imagery to guide the surgeon. Surgery performed remotely by manually operated robots may use projection systems in the same way as described above.

In applications where an AACMM is used in a manufacturing environment, the projector 604 may provide guidance for a variety of operations requiring positioning that is driven from 3D CAD or image files. This includes, for example: drilling holes for rivets, instruments, accessories; applying decals or adhesive backed stripes to cars, planes, busses or large parts; painting letters, details or images; grinding/sanding surfaces or welds until they conform to drawing requirements; and locating studs or structural members behind sheathing for nail or screw locations.

Embodiments of this aspect of the present invention provide for visualization of hidden features such as pipes, wiring, ducts, or other objects under walls, bulkheads, floors or behind locked doors helps to determine where cuts can be safely made. These embodiments also provide for projected visualization and guidance for drilling, cutting and access to critical components of explosive ordinance (e.g., when 3D CAD data of the device is available).

According to embodiments of this aspect of the present invention, a projection system for an AACMM projects guidance and part data (e.g., structural CAD data) onto a surface of a part. It also may be used to project images of what is inside walls, structures, or the human body for use in building modification, surgery or other invasive procedures. One or more miniature projectors attached to the arm can project images or data on a part or surface or provide guidance to the operator. The arm/projector combination may provide visualization of features hidden by walls, inside the human body, inside explosive devices, etc. When a 3D record (e.g., CAD drawing, CAT scan, etc.) of the object exists the projector and arm combination can project an image that shows the location of features, as if seeing through the wall.

Turning now to FIG. 13, a process for implementing the AACMM 100 with removable accessories will now be described in an exemplary embodiment. As indicated above, the electronic data processing system 210 implements logic for executing the processes described in FIG. 13. The logic may be stored at the user interface board 202, e.g., in memory 332.

At step 1302, data is received at the electronic data processing system 210 of the AACMM 100 from a source device. The source device includes one of the devices 400, 600, and 700.

At step 1304, the base computer processor identifies the source of the data. The source of the data (e.g., one of devices 400, 600, and 700) may be identified by determining a transmission path through which the data is transmitted. For example, if the source device is physically engaged with the AACMM 100, the transmission path includes the peripheral component interface bus 240, probe end electronics 230, and arm buses 218 (shown in FIG. 2), as well as the interface 426 and connector 534 (shown in FIG. 5). If the source device is removed from the interface 426 of the AACMM 100, the transmission path may be wireless (e.g., through a wireless network) to the electronic data processing system 210. As indicated above, the respective controllers of devices 400, 600, and 700 may include wireless components for communicating with the AACMM 100 (e.g., to the electronic data processing system 210), as well as other devices that may be configured to receive data therefrom. The wireless transmission path may be implemented, e.g., via a cellular communication network, a global positioning system network, a short-range communication network (e.g., a BlueTooth™-enabled network), or similar type of network.

At step 1306, the base computer processor determines the data type of the data based in part upon the source of the data, and/or the data itself. The data types may include, e.g., metrology data (e.g., raw data measurements taken via the laser line probe 400), image data captured by device 600 (e.g., where device 600 is a digital camera), sensor data (where device 600 is an RFID scanner), or other types of data, such as multimedia data.

At step 1308, the electronic data processing system 210 logic is configured to perform one or more actions in response to the data type and source of data. For example, if the data received from the source device is raw measurement data, the action performed may be converting the raw measurement data in to X, Y, Z coordinate data to reflect a position of the source device. If the data is sensor data captured by the device (e.g., an LLP device), the action performed may include using triangulation processes to convert the sensor data to positional data to identify a location of the device. If the data is image data, the action performed may be processing pixel data into known image data formats (e.g., JPEG). Alternatively, or in addition thereto, the action may include converting captured data to a representation that overlays other captured data (e.g., image data may be transposed on top of X, Y, Z coordinate data to show more detail of an object being measured). If the data is control signal data representing actuation of a spray painting device (e.g., device 700), then the action performed may include selecting a reservoir 704 and activating a nozzle 702 to paint a surface or object.

At step 1310, the electronic data processing system 210 logic outputs results of the action performance to one or more destination devices. The destination device may include the user interface display of the user interface board 202 onboard the AACMM 100 or a remote device (e.g., a general purpose desktop, PDA, smart phone, etc.).

Technical effects and benefits include obtaining measurements of objects and other data through interchangeable devices of the AACMM and an interface. The benefits include integrating some level of control of the probe end the AACMM with accessory devices (i.e., the interchangeable devices). Other benefits include providing power and data communications to a removable accessory without having external connections or wiring.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++, C# or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may be implemented by computer program instructions.

These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable medium that may direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, may be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

While the invention has been described with reference to example embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item. 

1. A method of implementing a portable articulated arm coordinate measuring machine (AACMM) having interchangeable accessories, the method comprising: providing a portable AACMM comprised of a manually positionable arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each arm segment including at least one position transducer for producing a position signal, a measurement device attached to a first end of the AACMM, and an electronic circuit which receives the position signals from the transducers and provides data corresponding to a position of the measurement device; identifying a source device from which data is received by determining a transmission path through which the data is transmitted, the source device removably attached to the first end of the AACMM via a coupler; determining a data type of the data based upon at least an identification of the source device; performing an action on the data responsive to the data type; and outputting results of performing the action to a destination device.
 2. The method of claim 1, wherein the transmission path includes a wireless communication path and a wired communication path.
 3. The method of claim 2, wherein the wireless communication path comprises at least one of: a cellular network; a global positioning system network; and a short-range communications network.
 4. The method of claim 1, wherein data types include at least one of: metrology data; positional data; image data; and radio frequency identification-based data.
 5. The method of claim 1, wherein the action performed includes converting raw measurement data to coordinate data.
 6. The method of claim 1, wherein the destination device includes at least one of a user interface display onboard the AACMM and a remote computer processor.
 7. The method of claim 1, wherein the source device comprises at least one of a: laser line probe; radio frequency identification scanner; digital camera; a projection device; thermal scanning device; and painting device.
 8. A portable articulated arm coordinate measuring machine (AACMM) having interchangeable accessories, the portable AACMM comprising: a manually positionable arm portion having opposed first and second ends, the arm portion including a plurality of connected arm segments, each of the arm segments including at least one position transducer for producing a position signal; a measurement device attached to a first end of the AACMM; an electronic circuit for receiving the position signals from the transducers and for providing data corresponding to a position of the measurement device; a source device removably attached to the first end of the portable AACMM via a coupler, the source device configured for capturing data; and logic executable by the electronic circuit, wherein the logic identifies the source device from which the data is received by determining a transmission path through which the data is transmitted, determines a data type of the data based upon at least an identification of the source device, performs an action on the data responsive to the data type, and outputs results of performing the action to a destination device.
 9. The portable AACMM of claim 8, the transmission path includes a wireless communication path and a wired communication path.
 10. The portable AACMM of claim 9, wherein the wireless communication path comprises at least one of: a cellular network; a global positioning system network; and a short-range communications network.
 11. The portable AACMM of claim 8, wherein data types include at least one of: metrology data; positional data; image data; and radio frequency identification-based data.
 12. The portable AACMM of claim 8, wherein the action performed includes converting raw measurement data to coordinate data.
 13. The portable AACMM of claim 8, wherein the destination device includes at least one of a user interface display onboard the AACMM and a remote computer processor.
 14. The portable AACMM of claim 8, wherein the source device comprises at least one of a: laser line probe; radio frequency identification scanner; digital camera; a projection device; thermal scanning device; and painting device.
 15. A computer program product for implementing a portable articulated arm coordinate measuring machine (AACMM), the computer program product comprising a computer storage medium having computer-readable program code embodied thereon, which when executed by a computer causes the computer to implement a method, the method comprising: identifying a source device from which data is received by determining a transmission path through which the data is transmitted, the source device removably attached to a first end of the AACMM; determining a data type of the data based upon at least an identification of the source device; performing an action on the data responsive to the data type; and outputting results of performing the action to a destination device.
 16. The computer program product of claim 15, wherein the transmission path includes a wireless communication path and a wired communication path.
 17. The computer program product of claim 16, wherein the wireless communication path comprises at least one of: a cellular network; a global positioning system network; and a short-range communications network.
 18. The computer program product of claim 15, wherein data types include at least one of: metrology data; positional data; image data; and radio frequency identification-based data.
 19. The computer program product of claim 15, wherein the action performed includes converting raw measurement data to coordinate data.
 20. The computer program product of claim 15, wherein the destination device includes at least one of a user interface display onboard the AACMM and a remote computer processor. 